<?php
/**
 * GeryEngine
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this release in the file LICENSE
 *
 * @copyright  Copyright (c) 2007 Arjen Brouwer
 * @license    New BSD License
 * @author     Arjen Brouwer
 */

interface ICodeGenerator {
	
	const ASSIGN_NORMAL 		= 1;
	const ASSIGN_SUBSTRACT 		= 2;
	const ASSIGN_ADD 			= 3;
	const ASSIGN_APPEND_ARRAY 	= 4;
	const ASSIGN_APPEND_TEXT 	= 5;
	
	const STYLE_INDENT 			= 1;
	const STYLE_DEDENT 			= 2;
	
	public function appendValueAssignment($var, $value, $type = CodeGenerator::ASSIGN_NORMAL);
	public function appendCustomCode($code, $style = null);
	public function appendIf($condition);
	public function appendEndIf();
	public function appendElse($ifCondition = null);
	public function appendForeach($condition);
	public function appendEndForeach();
	public function output();
}
?>